﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
using Sim;
using Lists;
using Users;

namespace SimTest
{
    [TestFixture]
    public class TestClass3
    {
        [Test]
        public void User()
        {
            User user = new User();
            Assert.AreEqual(0, user.age);
            Assert.AreEqual(0, user.level);
            Assert.AreEqual(0, user.id);
            StringAssert.AreEqualIgnoringCase("", user.firstName);
            StringAssert.AreEqualIgnoringCase("", user.lastName);
            StringAssert.AreEqualIgnoringCase("", user.nation);
            StringAssert.AreEqualIgnoringCase("", user.sex);
            StringAssert.AreEqualIgnoringCase("", user.username);
            StringAssert.AreEqualIgnoringCase("", user.password);

            user = new User("Emil", "Hjalmarsson", 16, "SE", "male", 0, "eml", "hjlm");

            Assert.AreEqual(16, user.age);
            Assert.AreEqual(0, user.level);
            Assert.AreEqual(0, user.id);
            StringAssert.AreEqualIgnoringCase("Emil", user.firstName);
            StringAssert.AreEqualIgnoringCase("Hjalmarsson", user.lastName);
            StringAssert.AreEqualIgnoringCase("SE", user.nation);
            StringAssert.AreEqualIgnoringCase("male", user.sex);
            StringAssert.AreEqualIgnoringCase("eml", user.username);
            StringAssert.AreEqualIgnoringCase("hjlm", user.password);
        }
        [Test]
        public void Judge()
        {
            Judge judge = new Judge();
            Assert.AreEqual(0, judge.age);
            Assert.AreEqual(0, judge.level);
            Assert.AreEqual(0, judge.id);
            StringAssert.AreEqualIgnoringCase("", judge.firstName);
            StringAssert.AreEqualIgnoringCase("", judge.lastName);
            StringAssert.AreEqualIgnoringCase("", judge.nation);
            StringAssert.AreEqualIgnoringCase("", judge.sex);
            StringAssert.AreEqualIgnoringCase("", judge.username);
            StringAssert.AreEqualIgnoringCase("", judge.password);

            judge = new Judge("Emil", "Hjalmarsson", 16, "SE", "male", 1, "eml", "hjlm");

            Assert.AreEqual(16, judge.age);
            Assert.AreEqual(1, judge.level);
            Assert.AreEqual(0, judge.id);
            StringAssert.AreEqualIgnoringCase("Emil", judge.firstName);
            StringAssert.AreEqualIgnoringCase("Hjalmarsson", judge.lastName);
            StringAssert.AreEqualIgnoringCase("SE", judge.nation);
            StringAssert.AreEqualIgnoringCase("male", judge.sex);
            StringAssert.AreEqualIgnoringCase("eml", judge.username);
            StringAssert.AreEqualIgnoringCase("hjlm", judge.password);
        }
        [Test]
        public void Diver()
        {
            Diver diver = new Diver();
            Assert.AreEqual(0, diver.age);
            Assert.AreEqual(0, diver.level);
            Assert.AreEqual(0, diver.id);
            StringAssert.AreEqualIgnoringCase("", diver.firstName);
            StringAssert.AreEqualIgnoringCase("", diver.lastName);
            StringAssert.AreEqualIgnoringCase("", diver.nation);
            StringAssert.AreEqualIgnoringCase("", diver.sex);
            StringAssert.AreEqualIgnoringCase("", diver.username);
            StringAssert.AreEqualIgnoringCase("", diver.password);

            diver = new Diver("Emil", "Hjalmarsson", 16, "SE", "male", 1, "eml", "hjlm");

            Assert.AreEqual(16, diver.age);
            Assert.AreEqual(1, diver.level);
            Assert.AreEqual(0, diver.id);
            StringAssert.AreEqualIgnoringCase("Emil", diver.firstName);
            StringAssert.AreEqualIgnoringCase("Hjalmarsson", diver.lastName);
            StringAssert.AreEqualIgnoringCase("SE", diver.nation);
            StringAssert.AreEqualIgnoringCase("male", diver.sex);
            StringAssert.AreEqualIgnoringCase("eml", diver.username);
            StringAssert.AreEqualIgnoringCase("hjlm", diver.password);
        }
    }
}